/**
 * 表格的隔行变色，单击高亮，复选框的操作等，table的表头，表身需要明确加上thead、tbody区分
 * 默认父checkbox的id为p_box，子复选框的name为s_box
 * 引入该js需要追加在body标签后面，等dom完全加载完毕
 * <script src="${ctx}/js/checkbox-table.js" type="text/javascript"></script>
 * form表单不需要隔行变色 只引进下面的common.js
 * <script src="${ctx}/js/common.js" type="text/javascript"></script>
 */
$("tbody>tr:odd").addClass("m_r_table_tr");
$("tbody>tr:even").addClass("m_r_table_tr_bai");
$("tbody>tr").mouseover(function(){$(this).addClass("m_r_table_tr_on");}),    
$("tbody>tr").mouseout(function(){$(this).removeClass("m_r_table_tr_on");});  

//行单击高亮
$('tbody>tr').click(function(){
  if($(this).find("[name=s_box]:checkbox:disabled").length>0)
	  return;
  var hasSelected = $(this).hasClass('m_r_table_tr_selected');
  $(this)[hasSelected ? "removeClass" : "addClass"]('m_r_table_tr_selected')
     .find(':checkbox:enabled').attr('checked',!hasSelected);         
});

//复选框全选操作 不包括disabled的checkbox
$("#p_box").click(function(){
	$('[name=s_box]:checkbox:enabled').attr("checked",this.checked);
    if (this.checked) {
        //$('tbody>tr').addClass('m_r_table_tr_selected');
        $('input[type="checkbox"]:enabled').parents('tr').addClass('m_r_table_tr_selected'); 
    } else {
        $('input[type="checkbox"]:enabled').parents('tr').removeClass('m_r_table_tr_selected'); 
    }
});

$("#p_box_second").click(function(){
	$('[name=s_box_second]:checkbox:enabled').attr("checked",this.checked);
	if (this.checked) {
		$('input[type="checkbox"]:enabled').parents('tr').addClass('m_r_table_tr_selected'); 
	} else {
		$('input[type="checkbox"]:enabled').parents('tr').removeClass('m_r_table_tr_selected'); 
	}
});



/**
 * 点击checkbox 不触发tr的onclick事件<br/>
 * eg: input type="checkbox"  name = "s_box" onclick="stopBubble(event, this);" 
 * @param e:event
 * @param o:checkbox
 */
 function stopBubble(e, o) {    
     if (o.checked) {
         $(o).parents('tr').addClass('m_r_table_tr_selected'); 
     } else {
         $(o).parents('tr').removeClass('m_r_table_tr_selected'); 
     }
     if (e && e.stopPropagation) {  
         e.stopPropagation();    
     }    
     else {  
         window.event.cancelBubble = true;    
     }
 }    

//子复选框 
$('[name=s_box]:checkbox').click(function(){
  var flag = true;
  $('[name=s_box]:checkbox').each(function(){
      if(!this.checked){
          flag = false;
      }
  });
  
  $("#p_box").attr("checked",flag); //级联父复选框
});

$('[name=s_box_second]:checkbox').click(function(){
  var flag = true;
  $('[name=s_box_second]:checkbox').each(function(){
      if(!this.checked){
          flag = false;
      }
  });
  
  $("#p_box_second").attr("checked",flag); //级联父复选框
});

$('tbody>tr:has(input[type="checkbox"]:enabled:checked)').addClass('m_r_table_tr_selected');

///*文本框选中效果*/
//$("input,select").mouseover(function(){  
//  $(this).css("border","1px solid #98d9f6");
//  }).mouseout(function(){
//  $(this).css("border","1px solid #bebebe");
//  }).focus(function(){
//  $(this).css("background-color","#fbf2c1");
//  }).blur(function(){
//  $(this).css("background-color","#ffffff");
//  });
    
    
	/**
 * 获取name=s_box的复选框选中个数
 * 不包括disabled的复选框
 * @returns {Number}
 */
function getCheckCount() {
    var count = 0;
    $('[name=s_box]:checkbox:enabled').each(function(){
       if(this.checked){
           count ++;
       }
    });
    return count;
}  

/**
 * 获取name=box_name的复选框选中个数
 * 不包括disabled的复选框
 * @param box_name
 * @returns count
 */
function getCheckCountByName(box_name) {
    var count = 0;
    $('[name='+box_name+']:checkbox:enabled').each(function(){
       if(this.checked){
           count ++;
       }
    });
    return count;
} 

/**
 * 获取被选中复选框的值，以v1#v2#v3#返回 get方式提交#需要用js的escape编码 eg: var get_value = escape(getCheckValues())
 * 不包括disabled的复选框
 * @returns check_box_values
 * 适用范围：一个页面只有一个checkbox
 */
function getCheckValues() {
 	var check_box_values  = "";
 	$(":checkbox:enabled").each(function(){
 		if(this.checked){
 			if (this.value && this.value != ""){
 				check_box_values = check_box_values + this.value + "#";
     			}
     		}
     	});
        return check_box_values;
    }
/**
 * 获取被选中复选框的值，以v1#v2#v3#返回 get方式提交#需要用js的escape编码 eg: var get_value = escape(getCheckValues())
 * 不包括disabled的复选框
 * @returns check_box_values
 * 适用范围：一个页面有一个或多个checkbox
 */
function getCheckValuesByName(box_name) {
 	var check_box_values  = "";
 	$('[name='+box_name+']:checkbox:enabled').each(function(){
 		if(this.checked){
 			if (this.value && this.value != ""){
 				check_box_values = check_box_values + this.value + "#";
     			}
     		}
     	});
        return check_box_values;
    }      
function getCheckValue() {
 	var check_box_values  = "";
 	$(":checkbox:enabled").each(function(){
 		if(this.checked){
 			if (this.value && this.value != ""){
 				check_box_values = this.value;
     			}
     		}
     	});
        return check_box_values;
    }